﻿using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using BCEntity.Sim.Admin.Admin;
using BCEntity.CRM.CustomerReceptionRecord;

namespace BCData.CRM.CustomerReceptionRecord
{
    public interface ICustomerReceptionRecordData
    {
        Task<bool> Delete(long ccCustomerReceptionRecordId);
        Task<CustomerReceptionRecordEntity> GetById(long ccCustomerReceptionRecordId);
        Task<CustomerReceptionRecordEntity> InsertAsync(CustomerReceptionRecordEntity ccCustomerReceptionRecordEntity);
        Task<CustomerReceptionRecordEntity> UpdateAsync(CustomerReceptionRecordEntity ccCustomerReceptionRecordEntity);
        Task<(int ccCount, IEnumerable<CustomerReceptionRecordEntity>)> GetListAsync(
            AdminEntity ccAdminEntity,
            DateTime? ccArrivalTime1,
            DateTime? ccArrivalTime2,
            DateTime? ccExitTime1,
            DateTime? ccExitTime2,
            int companyId,
            string ccUserName,
            string ccPhone,
            string ccEmail,
            string ccProvinceName,
            string ccCityName,
            string ccCountyName,
            int pageIndex,
            int pageSize);
    }
}